Skip to content

Conversation

sebmarkbage
Copy link
Collaborator

@sebmarkbage sebmarkbage commented Sep 20, 2025

Stacked on #34543.

For the startGestureTransition API, we previously illustrated this in the "Blocking" track because the render itself is blocking. However, it's possible to have updates coming into the blocking track while a gesture is animating (e.g. the setInterval in the fixture). It's therefore useful to be able to visualize the Gesture on its own track so that we can show sync updates at the same time as the animation.

We could potentially merge this with the Transition track but I find that a bit misleading. Especially since a Gesture would often then be followed by a Transition right after. So I added a separate track for it. It is its own lane after all. Although it's possible that maybe this track becomes the same as the Optimistic track if that's ever extracted out of sync.

Screenshot 2025-09-20 at 1 26 49 PM

@meta-cla meta-cla bot added the CLA Signed label Sep 20, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 20, 2025
@react-sizebot
Copy link

react-sizebot commented Sep 20, 2025

Comparing: e0c421a...ddeaac0

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.82 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 534.43 kB 534.43 kB = 94.33 kB 94.33 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 663.68 kB 663.68 kB = 117.00 kB 117.00 kB
facebook-www/ReactDOM-prod.classic.js = 687.59 kB 687.59 kB = 121.04 kB 121.04 kB
facebook-www/ReactDOM-prod.modern.js = 678.02 kB 678.02 kB = 119.39 kB 119.39 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-art/cjs/react-art.development.js +0.94% 715.04 kB 721.74 kB +0.59% 112.95 kB 113.62 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js +0.80% 841.75 kB 848.53 kB +0.51% 131.61 kB 132.29 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.js +0.77% 552.30 kB 556.57 kB +0.59% 86.33 kB 86.84 kB
oss-experimental/react-dom/cjs/react-dom-client.development.js +0.55% 1,224.44 kB 1,231.24 kB +0.32% 204.07 kB 204.72 kB
oss-experimental/react-dom/cjs/react-dom-profiling.development.js +0.55% 1,240.83 kB 1,247.62 kB +0.33% 206.86 kB 207.54 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js +0.55% 1,240.99 kB 1,247.78 kB +0.34% 207.68 kB 208.39 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js +0.55% 735.76 kB 739.78 kB +0.39% 127.57 kB 128.06 kB

Generated by 🚫 dangerJS against ddeaac0

@sebmarkbage
Copy link
Collaborator Author

This still keeps GestureLane in the includesBlockingLane helpers for the purposes of checking for non-yieldiness. That's why all the Performance Track has to check isGestureRender and only fallback to checking if it's a blocking lane if not.

@eps1lon eps1lon merged commit 05b61f8 into facebook:main Sep 24, 2025
241 checks passed
sebmarkbage added a commit that referenced this pull request Sep 24, 2025
…ing (#34548)

Stacked on #34546.

Same as #34538 but for gestures.

Includes various fixes.

This shows how it ends with a Transition when you release in the
committed state. Note how the Animation of the Gesture continues until
the Transition is done so that the handoff is seamless.

<img width="853" height="134" alt="Screenshot 2025-09-20 at 7 37 29 PM"
src="https://github.com/user-attachments/assets/6192a033-4bec-43b9-884b-77e3a6f00da6"
/>
github-actions bot pushed a commit that referenced this pull request Sep 24, 2025
github-actions bot pushed a commit that referenced this pull request Sep 24, 2025
github-actions bot pushed a commit that referenced this pull request Sep 24, 2025
…ing (#34548)

Stacked on #34546.

Same as #34538 but for gestures.

Includes various fixes.

This shows how it ends with a Transition when you release in the
committed state. Note how the Animation of the Gesture continues until
the Transition is done so that the handoff is seamless.

<img width="853" height="134" alt="Screenshot 2025-09-20 at 7 37 29 PM"
src="https://github.com/user-attachments/assets/6192a033-4bec-43b9-884b-77e3a6f00da6"
/>

DiffTrain build for [e233218](e233218)
github-actions bot pushed a commit that referenced this pull request Sep 24, 2025
…ing (#34548)

Stacked on #34546.

Same as #34538 but for gestures.

Includes various fixes.

This shows how it ends with a Transition when you release in the
committed state. Note how the Animation of the Gesture continues until
the Transition is done so that the handoff is seamless.

<img width="853" height="134" alt="Screenshot 2025-09-20 at 7 37 29 PM"
src="https://github.com/user-attachments/assets/6192a033-4bec-43b9-884b-77e3a6f00da6"
/>

DiffTrain build for [e233218](e233218)
EugeneChoi4 pushed a commit to EugeneChoi4/react that referenced this pull request Sep 24, 2025
EugeneChoi4 pushed a commit to EugeneChoi4/react that referenced this pull request Sep 24, 2025
…ing (facebook#34548)

Stacked on facebook#34546.

Same as facebook#34538 but for gestures.

Includes various fixes.

This shows how it ends with a Transition when you release in the
committed state. Note how the Animation of the Gesture continues until
the Transition is done so that the handoff is seamless.

<img width="853" height="134" alt="Screenshot 2025-09-20 at 7 37 29 PM"
src="https://github.com/user-attachments/assets/6192a033-4bec-43b9-884b-77e3a6f00da6"
/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants